package com.example.common;

/**
 * 功能描述
 * 业务错误定义，主要是方便查阅
 * @author: jimmy
 * @date: 2023年12月19日 18:38
 */
public enum BusinessError {
    //通用的错误类型10000开头
    NO_OBJECT_FOUND(10001,"请求对象不存在"),
    UNKNOWN_ERROR(10002,"未知错误"),
    NO_HANDLER_FOUND(10003,"找不到执行的路径操作"),
    ACCESS_DENIED_ERROR(10004,"请求被拒绝"),
    PARAMETER_VALIDATION_ERROR(10005,"请求参数校验失败"),

    //用户服务相关的错误类型20000开头
    NAME_OR_PASS_ERROR(20001,"用户名或密码错误"),
    USER_DISABLED(20002,"用户未激活，请联系管理员"),
    ACCOUNT_LOCKED(20003,"用户账户已锁定，请联系管理员"),
    ACCOUNT_EXPIRED(20004,"用户账户已过期，请联系管理员"),
    CREDENTIALS_EXPIRED(20005,"用户账户已过期，请联系管理员"),
    DUULICATE_USERNAME(20006,"用户账户不能重复"),
    DUULICATE_EMAIL(20007,"用户邮箱不能重复"),
    DUULICATE_MOBILE(20008,"用户手机不能重复"),



    //admin相关错误
    ADMIN_SHOULD_LOGIN(30001,"管理员需要先登录"),

    //品类相关错误
    CATEGORY_NAME_DUPLICATED(40001,"品类名已存在"),
    ;

    private Integer errCode;

    private String errMsg;

    BusinessError(Integer errCode, String errMsg) {
        this.errCode = errCode;
        this.errMsg = errMsg;
    }

    public Integer getErrCode() {
        return errCode;
    }

    public void setErrCode(Integer errCode) {
        this.errCode = errCode;
    }

    public String getErrMsg() {
        return errMsg;
    }

    public void setErrMsg(String errMsg) {
        this.errMsg = errMsg;
    }
}
